<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        // 解构赋值
        // 这种写法属于“模式匹配”，只要等号两边的模式相同，左边的变量就会被赋予对应的值。


        // 数组解构
        let [d, b, c] = [1, 2, 3]
        console.log(d + b + c)// 输出6

        let [head, ...tail] = [1, 2, 3, 4];
        head // 1
        tail // [2, 3, 4]

        // 解构的默认值
        let [x, y = 'b'] = ['a']; // x='a', y='b'

        // 对象解构
        let { name, box } = { name: '老陈', box: "男" };
        console.log(name)//
        console.log(box)

        //  变量换个属性名不一样时的情况
        let obj = { first: 'hello', last: 'world' };
        let { first: f, last: l } = obj;
        f // 'hello'
        l // 'world'


        // 字符串解构
        const [e,j,g,h,i] = 'hello';
        e // "h"
        j // "e"
        g // "l"
        j // "l"
        i // "o"
    </script>
</body>

</html>